题目地址 (opens new window)

  • 🙂 第一次练习 2020年4月30日 这个题,有点牛逼,抽象为一个循环链表问题
  • 😄 第二次练习

# 双指针

解题代码

public int getNext(int n) {
    int totalSum = 0;
    while(n > 0) {
        int d = n % 10;
        n = n / 10;
        totalSum += d*d;
    }
    return totalSum;
}


public boolean isHappy(int n) {
    int slow = n;
    int fast = getNext(n);
    while(fast != 1 && slow != fast) {
        slow = getNext(slow);
        fast = getNext(getNext(fast));
    }
    return fast == 1;
}

# 易错点

  • 主要是想不到
最后编辑时间: 7/14/2020, 9:21:47 AM